package com.yanfan.zutai.mapper;


import com.yanfan.common.core.domain.entity.SysUser;
import com.yanfan.zutai.domain.BDeviceZt;
import com.yanfan.zutai.domain.BDeviceZtUser;
import com.yanfan.zutai.domain.vo.ZutaiDataVo;
import com.yanfan.zutai.domain.vo.ZutaiVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 组态用户Mapper接口
 *
 * @author kerwincui
 * @date 2024-02-02
 */
public interface BDeviceZtUserMapper {
    /**
     * 查询组态用户
     *
     * @param ztId 组态用户主键
     * @return 组态用户
     */
    BDeviceZtUser selectBDeviceZtUserByZtId(Long ztId);

    /**
     * 查询组态用户列表
     *
     * @param bDeviceZtUser 组态用户
     * @return 组态用户集合
     */
    List<BDeviceZtUser> selectBDeviceZtUserList(BDeviceZtUser bDeviceZtUser);

    /**
     * 新增组态用户
     *
     * @param bDeviceZtUser 组态用户
     * @return 结果
     */
    int insertBDeviceZtUser(BDeviceZtUser bDeviceZtUser);

    /**
     * 修改组态用户
     *
     * @param bDeviceZtUser 组态用户
     * @return 结果
     */
    int updateBDeviceZtUser(BDeviceZtUser bDeviceZtUser);

    /**
     * 删除组态用户
     *
     * @param ztId 组态用户主键
     * @return 结果
     */
    int deleteBDeviceZtUserByZtId(Long ztId);

    /**
     * 批量删除组态用户
     *
     * @param ztIds 需要删除的数据主键集合
     * @return 结果
     */
    int deleteBDeviceZtUserByZtIds(Long[] ztIds);

    int insertBDeviceZtUserList(List<BDeviceZtUser> bDeviceZtUser);

    SysUser selectShareUser(BDeviceZtUser user);

    int deleteBDeviceZtUser(BDeviceZtUser bDeviceZtUser);

    int updateBDeviceZtUserlist(@Param("tenantId") Long tenantId, @Param("tenantName") String tenantName, @Param("zutailist") List<Long> zutailist);

    int updatefpUserList(@Param("deptId") Long deptId, @Param("dictlist")List<Long> dictIdLongList);

    List<ZutaiVo> zutaiList(@Param("deptId") Long deptId);

    List<BDeviceZt> bDeviceZtList(ZutaiDataVo zutaiDataVo);
}
